Instant messaging (IM) enables a user to send and receive messages to and from other users in real time. A first user has a client IM application or software that runs on his computer. When the first user is connected to the Internet, the client IM application opens a connection to an IM server. The client IM application sends a user identification and password to log onto the IM server. The IM server uses a communication protocol that allows for IM functionality.
The client IM application includes a contact list, which is a list of other users that the first user wishes to have the ability to send messages to. When the users identified in the contact list come online and log on to the IM server, the first user is notified so that messages can be sent and received. A message is sent to the IM server, which then routes the message to the identified user. IM applications are used primarily for text based chats, screen sharing, white-boarding and so on.